Ce document montre les grandes étapes du traitement et de l’exploration des données MApUCE pour les comparer aux données MesoNH dont on dispose sur Paris. C’est aussi un exemple de rapport d’études, relativement reproductible, qu’on peut utiliser pour des rapports intermédiaires, du moins tant qu’on fait de la “petite” visualisation (2D et en image).
Les fichiers auxquels il sera fait référence sont ceux du repo github de luke créé pour le stage : https://github.com/LukeKR84/indicateurs_UHI
Les données mesoNH dont je dispose sont dans des fichier CSV. J’ai choisi le fichier des points ‘O’, c’est à dire les centre des cubes du dataset MesoNH, comme le montre l’image de Jacques ci-dessous.
La température se trouve dans les premières colonnes du tableau de données mesoNH:
dataMeso <- read.csv("../data_mesoNH_point_O.csv")
names(dataMeso)
## [1] "PABST_1" "PABST_2" "PABST_3" "PABST_4" "PABST_5"
## [6] "PABST_6" "PABST_7" "PABST_8" "PABST_9" "PABST_10"
## [11] "PABST_11" "PABST_12" "PABST_13" "PABST_14" "PABST_15"
## [16] "PABST_16" "PABST_17" "PABST_18" "PABST_19" "PABST_20"
## [21] "PABST_21" "PABST_22" "PABST_23" "PABST_24" "PABST_25"
## [26] "PABST_26" "PABST_27" "PABST_28" "PABST_29" "PABST_30"
## [31] "PABST_31" "PABST_32" "THT_1" "THT_2" "THT_3"
## [36] "THT_4" "THT_5" "THT_6" "THT_7" "THT_8"
## [41] "THT_9" "THT_10" "THT_11" "THT_12" "THT_13"
## [46] "THT_14" "THT_15" "THT_16" "THT_17" "THT_18"
## [51] "THT_19" "THT_20" "THT_21" "THT_22" "THT_23"
## [56] "THT_24" "THT_25" "THT_26" "THT_27" "THT_28"
## [61] "THT_29" "THT_30" "THT_31" "THT_32" "ZS"
## [66] "SSOCANZ1" "SSOCANZ2" "SSOCANZ3" "SSOCANZ4" "SSOCANZ5"
## [71] "SSOCANZ6" "ISBACANZ1" "ISBACANZ2" "ISBACANZ3" "ISBACANZ4"
## [76] "ISBACANZ5" "ISBACANZ6" "BLD_HEIGHT" "TEB_T1" "TEB_T2"
## [81] "TEB_T3" "TEB_T4" "TEB_T5" "TEB_T6" "TEB_P1"
## [86] "TEB_P2" "TEB_P3" "TEB_P4" "TEB_P5" "TEB_P6"
## [91] "ISBA_T1" "ISBA_T2" "ISBA_T3" "ISBA_T4" "ISBA_T5"
## [96] "ISBA_T6" "ISBA_P1" "ISBA_P2" "ISBA_P3" "ISBA_P4"
## [101] "ISBA_P5" "ISBA_P6" "longitude" "latitude"
`
On convertit en objet spatial, on projette en lambert93 et on prend les colonnes estampillées THT
dataMeso <- st_as_sf(dataMeso, coords = c("longitude", "latitude"))
#assuming data is on WGS 84
st_crs(dataMeso) <- 4326
dataMeso<- st_transform(dataMeso, 2154)
#only temperature THT variables
dataMeso <- dataMeso [,33:64]
On affiche la première série de température THT_1, avec la géométrie des quartiers de Paris en dessous
paris <- st_read("../opendata_vecteur_Paris/quartier_paris.shp")
## Reading layer `quartier_paris' from data source `/home/chap/encadrement/stage_luke/indicateurs_UHI/opendata_vecteur_Paris/quartier_paris.shp' using driver `ESRI Shapefile'
## Simple feature collection with 80 features and 8 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: 2.224078 ymin: 48.81558 xmax: 2.469761 ymax: 48.90216
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
paris <- st_transform(paris, 2154)
plot(paris$geometry, border="black")
plot(dataMeso[1], pch=16, add=T)
les données MApUCE sont disponibles sur http://mapuce.orbisgis.org/#.
On récupère deux types de données : des USR avec des indicateurs morphologiques, et deux scénarios de simulation d’îlots de chaleur-UHI).
Les USR (Unités Spatiales de Rédérence) pavent l’espace étudié par le projet MApUCE, on va faire une selection spatiale de ces USR pour ne garder que celles qui sont sous les points MesoNH.
Le résultat de cette selection s’appelle zoneEtudeUSR.shp et se trouve dans le repertoire USR_MAPUCE_Paris du repo github. Le fichier brut de données USR france entière est trop gros pour passer sur github, je montre ici le code pour obtenir cette selection spatiale en suppossant qu’on dispose du fichier usr_mapuce_paris.geojson , téléchargé du site du projet.
On commence par filtrer les données USR de MApUCE pour ne garder que les USR de Paris , du 92, 93 et 94, qui entourent Paris.
dfUSR <- read_sf("../../données Mapuce_backup/usr_mapuce_paris.geojson")
st_crs(dfUSR)
## Coordinate Reference System:
## EPSG: 2154
## proj4string: "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
paris <- dfUSR %>% filter(startsWith(code_insee,"75"))
dep92 <- dfUSR %>% filter(startsWith(code_insee,"92"))
dep93<- dfUSR %>% filter(startsWith(code_insee,"93"))
dep94 <- dfUSR %>% filter(startsWith(code_insee,"94"))
IdF <- rbind(paris, dep92, dep93, dep94)
plot(IdF$geometry, border="lightgray",lwd=0.2 )
plot(paris$geometry, add=T, border="orange", lwd=0.2)
On récupère la bounding box des points MesoNH, qu’on agrandit un peu pour que les points ne soient pas collés au bord.
emprise_sf <- st_bbox(dataMeso)
emprise_sf <- st_as_sfc(emprise_sf)
#enlarge bbox to get approx. one extra cube width around the corner points
emprise_sf <- st_buffer(emprise_sf, dist=400)
emprise_sf <- st_as_sfc(st_bbox(emprise_sf))
#convert back to sf object
emprise_sf <- emprise_sf %>% st_geometry %>% st_sf()
#display
par(mar=c(0,0,0,0))
plot(IdF$geometry, border="lightgray",lwd=0.2 )
plot(paris$geometry, add=T, border="orange", lwd=0.2)
plot(dataMeso[,1], add=T, alpha=0.5)
plot(emprise_sf, add=T, border="purple")
Enfin , on ne garde plus que l’intersection entre les USR d’Ile de France et l’emprise des points MesoNH
zoneEtude <- st_intersection(emprise_sf, IdF)
par(mar=c(0,0,0,0))
plot(zoneEtude$geometry, border="gray", lwd=0.4)
plot(dataMeso[,1], add=T, pch=16, cex=0.5)
on sauvegarde la zone d’étude où on veut :
st_write(zoneEtude, "./indicateurs_UHI/USR_MAPUCE_Paris/zoneEtudeUSR.shp")
Attention il ne s’agit pas d’étudier les données UHI à la place des données MesoNH, mais de manipuler les données de chaleurs sur la zone d’étude , pour voir ce que ça donne. Les données d’intérêt principal sont les données MesoNH!
Nous allons nous intéresser au premier scénario. On charge puis on affiche affiche l’intégralité du scénario 1 sur Paris.
uhi <- st_read("../UHI_2scenarios/Paris_icu_hot_summer_1.shp")
## Reading layer `Paris_icu_hot_summer_1' from data source `/home/chap/encadrement/stage_luke/indicateurs_UHI/UHI_2scenarios/Paris_icu_hot_summer_1.shp' using driver `ESRI Shapefile'
## Simple feature collection with 38794 features and 2 fields
## geometry type: POLYGON
## dimension: XYZ
## bbox: xmin: 615699 ymin: 6825780 xmax: 675374.4 ymax: 6896749
## z_range: zmin: 0 zmax: 0
## epsg (SRID): NA
## proj4string: +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m +no_defs
st_crs(uhi) <- 2154
par(mar=c(0,0,0,0))
plot(uhi[1], border=NA, lwd=0.1)
On voit bien la zone chaude de Paris intra-muros !
Superposition de la géométrie des USR de la zone d’étude et des données des UHI
uhi <- st_intersection(emprise_sf,uhi)
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
par(mar=c(0,0,0,0))
plot(zoneEtude$geometry,lwd=0.3)
plot(uhi[1], border=NA, lwd=0.1, add=T )
plot(zoneEtude$geometry,lwd=0.3, add=T)